<?php 

$fp = fsockopen("10.0.1.4", 18888, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {

	$out = "CONNECT: \r\n";
	fwrite($fp, $out);
	
	$in_mess = fgets($fp);
	if (strpos($in_mess,'detected power per carrier') > 0) {
	}
	else {
		die ("Not connected");
	}
	$out = "REQUEST RANGE: 4900000000,6400000000\r\n";
	fwrite($fp, $out);
	
	$in_mess = fgets($fp);
	if (strpos($in_mess,'SCAN RANGE: 4900000000,6400000000') === false) {  // кол-во частот - 4800 (по кол-ву возвращенных данных)
		die ("range not selected");
	}
	
	$last_frame = NULL;			//define
	$y=1;
	header('Content-Type: image/png');
	$image = imagecreatetruecolor (4800,2000);
	imagecolorallocate($image, 230, 255, 255);
	$font_file = './ARIAL.TTF';
	while (true) {
		$out = "GET FRAME: 1\r\n";
		fwrite($fp, $out);
		$in_mess = fgets($fp);
		if (strpos($in_mess,'FRAME: ') === false) {
			die("no answer");
		}
		$data = str_replace('FRAME: ', '',$in_mess);
		$data_array = explode (',', $data);
		if ($last_frame === $data_array[0]) {
		}
	
		//echo $data_array[0] . ' ' . $data_array[1] . ' ' . $data_array[2] . ' ' . $data_array[3] . PHP_EOL;

		$last_frame = $data_array[0];

		
		for ($x=1;$x<=4800;$x++){
			//$color = imagecolorallocate($image, $data_array[$x]+255, $data_array[$x]*-1, 255); 
			{
			$color_white = imagecolorallocate($image, 255, 255, 255);
			if ($data_array[$x] > -23) $color = imagecolorallocate($image, 255, 0, 0);
			if ($data_array[$x] == -24) $color = imagecolorallocate($image, 255, 51, 0);
			if ($data_array[$x] == -25) $color = imagecolorallocate($image, 255, 51, 0);
			if ($data_array[$x] == -26) $color = imagecolorallocate($image, 255, 51, 0);
			if ($data_array[$x] == -27) $color = imagecolorallocate($image, 255, 51, 0);
			if ($data_array[$x] == -28) $color = imagecolorallocate($image, 255, 102, 0);
			if ($data_array[$x] == -29) $color = imagecolorallocate($image, 255, 102, 0);
			if ($data_array[$x] == -30) $color = imagecolorallocate($image, 255, 102, 0);
			if ($data_array[$x] == -31) $color = imagecolorallocate($image, 255, 153, 0);
			if ($data_array[$x] == -32) $color = imagecolorallocate($image, 255, 153, 0);
			if ($data_array[$x] == -33) $color = imagecolorallocate($image, 255, 153, 0);
			if ($data_array[$x] == -34) $color = imagecolorallocate($image, 255, 153, 0);
			if ($data_array[$x] == -35) $color = imagecolorallocate($image, 255, 204, 0);
			if ($data_array[$x] == -36) $color = imagecolorallocate($image, 255, 204, 0);
			if ($data_array[$x] == -37) $color = imagecolorallocate($image, 255, 204, 0);
			if ($data_array[$x] == -38) $color = imagecolorallocate($image, 255, 204, 0);
			if ($data_array[$x] == -39) $color = imagecolorallocate($image, 255, 255, 0);
			if ($data_array[$x] == -40) $color = imagecolorallocate($image, 255, 255, 0);
			if ($data_array[$x] == -41) $color = imagecolorallocate($image, 255, 255, 0);
			if ($data_array[$x] == -42) $color = imagecolorallocate($image, 255, 255, 0);
			if ($data_array[$x] == -43) $color = imagecolorallocate($image, 255, 255, 0);
			if ($data_array[$x] == -44) $color = imagecolorallocate($image, 255, 255, 0);
			if ($data_array[$x] == -45) $color = imagecolorallocate($image, 204, 255, 0);
			if ($data_array[$x] == -46) $color = imagecolorallocate($image, 204, 255, 0);
			if ($data_array[$x] == -47) $color = imagecolorallocate($image, 204, 255, 0);
			if ($data_array[$x] == -48) $color = imagecolorallocate($image, 204, 255, 0);
			if ($data_array[$x] == -49) $color = imagecolorallocate($image, 204, 255, 0);
			if ($data_array[$x] == -50) $color = imagecolorallocate($image, 153, 255, 0);
			if ($data_array[$x] == -51) $color = imagecolorallocate($image, 153, 255, 0);
			if ($data_array[$x] == -52) $color = imagecolorallocate($image, 153, 255, 0);
			if ($data_array[$x] == -53) $color = imagecolorallocate($image, 153, 255, 0);
			if ($data_array[$x] == -54) $color = imagecolorallocate($image, 153, 255, 0);
			if ($data_array[$x] == -55) $color = imagecolorallocate($image, 102, 204, 0);
			if ($data_array[$x] == -56) $color = imagecolorallocate($image, 102, 204, 0);
			if ($data_array[$x] == -57) $color = imagecolorallocate($image, 102, 204, 0);
			if ($data_array[$x] == -58) $color = imagecolorallocate($image, 51, 204, 51);
			if ($data_array[$x] == -59) $color = imagecolorallocate($image, 51, 204, 51);
			if ($data_array[$x] == -60) $color = imagecolorallocate($image, 51, 204, 51);
			if ($data_array[$x] == -61) $color = imagecolorallocate($image, 51, 204, 51);
			if ($data_array[$x] == -62) $color = imagecolorallocate($image, 0, 204, 51);
			if ($data_array[$x] == -63) $color = imagecolorallocate($image, 0, 204, 51);
			if ($data_array[$x] == -64) $color = imagecolorallocate($image, 0, 204, 51);
			if ($data_array[$x] == -65) $color = imagecolorallocate($image, 0, 204, 51);
			if ($data_array[$x] == -66) $color = imagecolorallocate($image, 0, 204, 51);
			if ($data_array[$x] == -67) $color = imagecolorallocate($image, 0, 204, 51);
			if ($data_array[$x] == -68) $color = imagecolorallocate($image, 0, 204, 102);
			if ($data_array[$x] == -69) $color = imagecolorallocate($image, 0, 204, 102);
			if ($data_array[$x] == -70) $color = imagecolorallocate($image, 0, 204, 102);
			if ($data_array[$x] == -71) $color = imagecolorallocate($image, 0, 204, 102);
			if ($data_array[$x] == -72) $color = imagecolorallocate($image, 0, 204, 102);
			if ($data_array[$x] == -73) $color = imagecolorallocate($image, 0, 204, 102);
			if ($data_array[$x] == -74) $color = imagecolorallocate($image, 0, 204, 153);
			if ($data_array[$x] == -75) $color = imagecolorallocate($image, 0, 204, 153);
			if ($data_array[$x] == -76) $color = imagecolorallocate($image, 0, 204, 153);
			if ($data_array[$x] == -77) $color = imagecolorallocate($image, 0, 204, 153);
			if ($data_array[$x] == -78) $color = imagecolorallocate($image, 0, 204, 153);
			if ($data_array[$x] == -79) $color = imagecolorallocate($image, 0, 204, 204);
			if ($data_array[$x] == -80) $color = imagecolorallocate($image, 0, 204, 204);
			if ($data_array[$x] == -81) $color = imagecolorallocate($image, 0, 255, 204);
			if ($data_array[$x] == -82) $color = imagecolorallocate($image, 0, 255, 204);
			if ($data_array[$x] == -83) $color = imagecolorallocate($image, 0, 255, 255);
			if ($data_array[$x] == -84) $color = imagecolorallocate($image, 0, 255, 255);
			if ($data_array[$x] == -85) $color = imagecolorallocate($image, 0, 255, 255);
			if ($data_array[$x] == -86) $color = imagecolorallocate($image, 0, 255, 255);
			if ($data_array[$x] == -87) $color = imagecolorallocate($image, 0, 204, 255);
			if ($data_array[$x] == -88) $color = imagecolorallocate($image, 0, 204, 255);
			if ($data_array[$x] == -89) $color = imagecolorallocate($image, 0, 204, 255);
			if ($data_array[$x] == -90) $color = imagecolorallocate($image, 0, 204, 255);
			if ($data_array[$x] == -91) $color = imagecolorallocate($image, 0, 153, 255);
			if ($data_array[$x] == -92) $color = imagecolorallocate($image, 0, 153, 204);
			if ($data_array[$x] == -93) $color = imagecolorallocate($image, 0, 102, 204);
			if ($data_array[$x] == -94) $color = imagecolorallocate($image, 0, 102, 204);
			if ($data_array[$x] == -95) $color = imagecolorallocate($image, 0, 102, 204);
			if ($data_array[$x] == -96) $color = imagecolorallocate($image, 0, 51, 204);
			if ($data_array[$x] == -97) $color = imagecolorallocate($image, 0, 51, 204);
			if ($data_array[$x] == -98) $color = imagecolorallocate($image, 0, 51, 204);
			if ($data_array[$x] == -99) $color = imagecolorallocate($image, 0, 51, 153);
			if ($data_array[$x] == -100) $color = imagecolorallocate($image, 0, 51, 153);
			if ($data_array[$x] == -101) $color = imagecolorallocate($image, 0, 0, 153);
			if ($data_array[$x] == -102) $color = imagecolorallocate($image, 0, 0, 153);
			if ($data_array[$x] == -103) $color = imagecolorallocate($image, 0, 0, 153);
			if ($data_array[$x] == -104) $color = imagecolorallocate($image, 0, 0, 153);
			if ($data_array[$x] == -105) $color = imagecolorallocate($image, 0, 0, 153);
			if ($data_array[$x] == -106) $color = imagecolorallocate($image, 0, 0, 190);
			if ($data_array[$x] == -107) $color = imagecolorallocate($image, 0, 0, 190);
			if ($data_array[$x] == -108) $color = imagecolorallocate($image, 0, 0, 190);
			if ($data_array[$x] == -109) $color = imagecolorallocate($image, 0, 0, 190);
			if ($data_array[$x] == -110) $color = imagecolorallocate($image, 0, 0, 190);
			if ($data_array[$x] == -111) $color = imagecolorallocate($image, 0, 0, 190);
			if ($data_array[$x] == -112) $color = imagecolorallocate($image, 0, 0, 225);
			if ($data_array[$x] == -113) $color = imagecolorallocate($image, 0, 0, 225);
			if ($data_array[$x] == -114) $color = imagecolorallocate($image, 0, 0, 225);
			if ($data_array[$x] == -115) $color = imagecolorallocate($image, 0, 0, 225);
			if ($data_array[$x] == -116) $color = imagecolorallocate($image, 0, 0, 225);
			if ($data_array[$x] == -117) $color = imagecolorallocate($image, 0, 0, 225);
			if ($data_array[$x] == -118) $color = imagecolorallocate($image, 0, 0, 255);
			if ($data_array[$x] == -119) $color = imagecolorallocate($image, 0, 0, 255);
			if ($data_array[$x] <= -120) $color = imagecolorallocate($image, 0, 0, 255);
			}
			imagesetpixel ($image, $x,$y, $color);
		}
		
		$y++;
		
		if (($y%500) ==0 ) {
			imagefttext($image, 7, 0, 2, $y, $color_white, $font_file, date("Y-m-d H:i:s T"));
		}
		if ($y == 2000 ) {
		$y = 0;	
			
			imagepng($image,'/var/www/signals ' . date("Y-m-d H:i:s T") . '.png');
			//die();
		}
		
		//imagegif($image,'/var/www/signals.png');
		//die();
	}
    fclose($fp);
}
?>
